/*-------------------------------------------------------------------------
 *
 * fdb_sm3.h
 *	  与 SM3 相关的常量和公共工具。
 *
 * 这些定义是前端和后端代码处理 sm3 加密密码所需的。
 *
 * src/include/common/fdb_sm3.h
 *
 *-------------------------------------------------------------------------
 */
#ifndef FDB_SM3_H
#define FDB_SM3_H

#ifdef FDDGM

/* sm3 */
#define SM3_PASSWD_CHARSET	"0123456789abcdef"
#define SM3_PASSWD_LEN 67
#define SM3_LENGTH 3
#define SM3_DIGEST_LENGTH 32


extern bool fdb_sm3_hash(const void *buff, size_t len, char *hexsum, const char **errstr);
/* sm3 加密函数 */
extern bool fdb_sm3_encrypt(const char *passwd, const char *salt, size_t salt_len, char *buf, const char **errstr);

#endif

#endif							/* FDB_SM3_H */
